package com.cms.admin.mapper;

import com.cms.admin.model.RegisterOrder;
import com.cms.admin.model.RegisterOrderExt;
import com.cms.admin.model.RegisterOrderReport;

import java.util.List;

public interface RegisterOrderMapper {
    int countByCondition(RegisterOrderExt example);
    int deleteByPrimaryKey(Long recid);
    int insert(RegisterOrder record);
    List<RegisterOrder> selectByConditionWithBLOBs(RegisterOrderExt example);
    List<RegisterOrder> selectByCondition(RegisterOrderExt example);
    List<RegisterOrder> selectByConditionWithLimit(RegisterOrderExt example);
    RegisterOrder selectByPrimaryKey(Long recid);
    int updateByPrimaryKeyWithBLOBs(RegisterOrder record);
    int updateByPrimaryKey(RegisterOrder record);
    RegisterOrderExt selectDetailByOrderId(Long registerid);
    RegisterOrderExt selectDetailWithUrlByOrderId(Long registerid);
    
    List<RegisterOrderReport> selectOrderForReport (RegisterOrderExt example);
    List<RegisterOrderReport> selectOrderForReportWithStuff (RegisterOrderExt example);
    List<RegisterOrderReport> selectOrderForReportWithStuffDailyTypeId (RegisterOrderExt example);
    List<RegisterOrderReport> selectOrderForReportWithTypeId (RegisterOrderExt example);
    List<RegisterOrderReport> selectOrderForReportWithStuffDailyChannel(RegisterOrderExt example);
    List<RegisterOrderReport> selectOrderForReportWithChannel(RegisterOrderExt example);
    
    int selectOrderForReportCount (RegisterOrderExt example);
    int selectOrderForReportWithStuffCount (RegisterOrderExt example);
    int selectOrderForReportWithStuffDailyTypeIdCount (RegisterOrderExt example);
    int selectOrderForReportWithTypeIdCount (RegisterOrderExt example);
    int selectOrderForReportWithStuffDailyChannelCount(RegisterOrderExt example);
    int selectOrderForReportWithChannelCount(RegisterOrderExt example);
    
    
    List<RegisterOrderReport> selectOrderForReportWithStuffAll (RegisterOrderExt example);
}